#ifndef _INCLUDE_DEVICE_CONSOLE_H_
#define _INCLUDE_DEVICE_CONSOLE_H_

#include "stdint.h"

/**
 * @brief init console device
 */
void console_init();

/**
 * @brief acquire console device
 */
void console_acquire();

/**
 * @brief release console device
 */
void console_release();

/**
 * @brief Prints a null-terminated string to the console
 *
 * @param str Pointer to the null-terminated string to be printed
 */
void console_put_str(char* str);

/**
 * @brief Prints a single ASCII character to the console
 *
 * @param char_asci The ASCII character to be printed
 */
void console_put_char(uint8_t char_asci);

/**
 * @brief Prints an unsigned 32-bit integer to the console
 *
 * @param num The unsigned 32-bit integer to be printed
 */
void console_put_int(uint32_t num);

#endif
